To design and implement a high capacity packet-switch typically, having throughputs ranging from a few hundreds giga (109) to multi tera (1012) bits per second and aggregating traffic from/to OC-768c or 40 Gbps ports, a practical architecture often considered to overcome the technology limitations that prevent from reaching directly this level of performance, is a parallel packet switch (PPS) architecture. As sketched in FIG. 1, a PPS is thus comprised of multiple identical lower-speed packet-switch planes e.g., four planes (100), operating independently and in parallel. In each ingress port-adapter (IA), such as (110), an incoming flow of packets (120) is thus spread (130), packet-by-packet, by a load balancer across the slower packet-switches, then recombined by a multiplexing function (140) in the egress part of each port-adapter (EA) e.g., (150). As seen by an arriving packet, a PPS is a single-stage packet-switch that needs to have only a fraction of the performance necessary to sustain a PPS port data rate (125). If four planes (100) are for example used, as shown in FIG. 1, their input (102) and output (104) ports need only to have one fourth of the performance that would otherwise be required to handle a full port data rate. More specifically, as an example, the four independent switches shown can have OC-192c or 10 Gbps ports. When associated they deliver OC-768c or 40 Gbps port speed provided that ingress and egress port-adapters (110, 150) are able to transparently load balance and recombine the packets. This approach is well known from the art and sometimes referred to as ‘Inverse Multiplexing’ or ‘load balancing’. Among many publications on the subject one may e.g., refer to a paper published in Proc. ICC'92, 311.1.1-311.1.5, 1992, by T. ARAMAKI et al., untitled ‘Parallel “ATOM” Switch Architecture for High-Speed ATM Networks’ which discusses the kind of architecture considered here.
The above scheme is also very attractive because of its inherent capability to support redundancy. By placing more planes than what is strictly necessary thus, five in the example of FIG. 1, it is possible to hot replace a defective plane without having to stop traffic. When a plane is detected as being, or becoming, defective ingress adapter load balancers can skip the defective plane and e.g., switch to a spare plane waiting in hot standby. When all the traffic from the defective plane has been drained out it can be removed and replaced by a new one. Hence, a PPS structure potentially also offers a graceful mode of degradation since, if installed planes are all used, one can still disable one of them and keep traffic moving through the ones left even though this is at a lower level of performance.
Thus, if PPS is really attractive to permit the implementation of very high-performance switches, with an architecture which is intrinsically redundant, a key requirement of carrier-class switches which need to operate 24-hour a day and 7-day a week, it remains that this is only achievable if load balancing (130) in each IA can actually performed accordingly. Especially, IA's must indeed be able to detect that a switching plane does not operate properly so as it can all be skipped. And, ideally, load balancing should be able to detect that a single port is not functioning properly in order that only traffic destined for it be not load balanced through the corresponding (partially) defective plane thus, fully taking advantage of a graceful mode of degradation since only one port on one plane would need to be skipped in that case while the rest of the switch continues to operate adequately.
Finally, load balancing should better be self-adaptive too so as it can dynamically react to the actual behavior of the switching planes. Although all IA's load balancing functions will attempt to evenly spread the traffic over all available planes and ports, hot spots may occasionally occur for a while in certain planes due to the nature of the traffic. Adaptive load balancing can take care of this by dynamically loading more the planes that are not congested.
It is then the purpose of the present invention to disclose a method and a system which enable a self adaptation of IA load balancing for all the situations mentioned above namely, to skip a complete switching plane if found defective or just one or a few ports of it, if a plane is only partially defective.
Also, self adaptation must occur if a plane, or ports of a plane, are detected as being temporarily congested in which case load balancing must tend to avoid loading more the congested plane and ports while congestion is in effect.